/**
 * 
 * 关于什么是防抖 主要用于输入框输入结束后调用的方法的函数，节省请求调用的次数
 * 
 */


const debonce = (fn:()=>void,delay:number = 200)=>{
    let timer:any = null;
    return ()=>{
        if(timer) clearTimeout(timer)
        timer = setTimeout(()=>{
            // @ts-ignore
            fn.apply(this,arguments);
        },delay)
    }
   
}


/**
 *  
 * 节流函数  主要用于滚动的时候触发
 */

const throttle = (fn:()=>void,delay:number = 200)=>{
    let timer:any = null
    return ()=>{
        if(timer) return 
        timer = setTimeout(()=>{
           // @ts-ignore
            fn.apply(this,argumrnts)
            clearTimeout(timer)
        },delay)
    }
}
